package com.ruoyi.common.core.domain.dto;

import lombok.Builder;
import lombok.Data;

import java.math.BigDecimal;
import java.math.RoundingMode;

@Data
@Builder
public class WechatPayParam {

    /**
     * 描述
     */
    private String description;

    /**
     * 商户订单号
     */
    private String outTradeNo;

    /**
     * 订单金额
     */
    private BigDecimal payPrice;

    /**
     * 支付者
     */
    private String openid;

    /**
     * 回调地址
     */
    private String notifyUrl;

    /**
     * 真实姓名
     */
    private String userName;

    /**
     * 微信支付订单号
     */
    private String transactionId;

    /**
     * 退款金额
     */
    private BigDecimal refundPrice;

    /**
     * 原因
     */
    private String reason;


    public Integer getPayPrice() {
        return payPrice != null ? payPrice.multiply(BigDecimal.valueOf(100)).setScale(0, RoundingMode.HALF_DOWN).intValue() : null;
    }

    public Integer getRefundPrice() {
        return refundPrice != null ? refundPrice.multiply(BigDecimal.valueOf(100)).setScale(0, RoundingMode.HALF_DOWN).intValue() : null;
    }
}
